package com.jiangyao.service.impl;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jiangyao.common.handler.WebContextHolder;
import com.jiangyao.model.vo.AdminUserSessionVO;
import com.jiangyao.model.vo.UserSessionVO;

/**
 * Service基础实现类
 *
 * @author: yangyongchuan
 * @create: 2020年06月11日 15:27
 */
public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> {

	/**
	 * 获取登录前台用户
	 *
	 * @return 结果
	 */
	public UserSessionVO getApiLoginSession() {
		return (UserSessionVO) WebContextHolder.getAttribute("_userSession");
	}

	/**
	 * 获取登录前台用户Id
	 *
	 * @return 结果
	 */
	public Integer getLoginApiUserId() {
		UserSessionVO userSession = (UserSessionVO) WebContextHolder.getAttribute("_userSession");
		return userSession == null ? null : userSession.getUserId();
	}

	/**
	 * 获取登录后台用户
	 *
	 * @return 结果
	 */
	public AdminUserSessionVO getAdminLoginSession() {
		return (AdminUserSessionVO) WebContextHolder.getAttribute("_userSession");
	}

	/**
	 * 获取登录后台用户Id
	 *
	 * @return 结果
	 */
	public Integer getLoginAdminUserId() {
		AdminUserSessionVO adminUserSessionVO = (AdminUserSessionVO) WebContextHolder.getAttribute("_userSession");
		return adminUserSessionVO == null ? null : adminUserSessionVO.getAdminId();
	}


}
